# -*- coding: utf-8 -*-
# @File  : thread调用外部函数.py
# @Author: zbh
# @Date  : 2025/2/27_14:17

import time
import threading
from test_python_basics import denglu

'''
通过threading.Thread创建线程对象，target是函数名，args是函数的参数
调用start()方法启动线程
调用join()方法等待线程结束

并发执行：当调用 thread.start() 时，线程调度器会将这些线程加入到可运行线程队列中，
然后根据系统的调度策略为每个线程分配 CPU 时间片，因此这些线程会并发执行，而不是逐个执行。
执行顺序不确定：由于线程调度是由操作系统决定的，所以线程的执行顺序是不确定的，可能会出现某个线程先开始但后结束的情况。
'''
def work_func(varxx): # 线程函数, 线程要执行的内容在这里

    time.sleep(2)
    print(f"线程名：{threading.currentThread().name},参数值是：{varxx}")



def main():
    print(f"主线程开始时间：{time.strftime('%Y-%m-%d %H:%M:%S')}")
    thread_list = []
    for i in range(10):
        t = threading.Thread(target=denglu.login,args=(1,)) # 创建线程对象, target是函数名，args是函数的参数
        thread_list.append(t) # 将线程对象添加到列表中
        t.start() # 启动线程, 线程的入口点，线程要执行的内容在这里
    for t in thread_list:
        t.join() # 等待线程结束,确保主线程会等待所有子线程执行完毕后再继续执行后续代码
    print(f"主线程结束时间：{time.strftime('%Y-%m-%d %H:%M:%S')}")


if __name__ =="__main__":  # 程序入口
    main()




